ccR.Add_Rotation(
	2, -- Player Specialization
	"CC_Fury_Solo", -- Function name
	"Developed early WoD, Not recommended.", -- Description
	"CC_Fury_Talents", -- Talents button frame
	"CC_Fury_Abilities", -- Abilities button frame
	"CC_Fury_Features", -- Features button frame
	"CC_Fury_Setup" -- Setup button frame
)
function CC_Fury_Solo()
	if ccR.Target.Is.Attackable() and ccR.Player.Is.Facing("target") then
		ccR.Start_Attack()
		-- Low Health / Victory Rush
		if ccR.Spell.Is.Ready(VICTORY_RUSH) and ccR.Player.Health() <= 90 and ccR.Spell.CanAttack(VICTORY_RUSH) then ccR.Cast.Attack(VICTORY_RUSH) 
		elseif ccR.Spell.Is.Ready(IMPENDING_VICTORY) and ccR.Player.Health() <= 90 and ccR.Spell.CanAttack(IMPENDING_VICTORY) then ccR.Cast.Attack(IMPENDING_VICTORY) 
		elseif ccR.Spell.Is.Ready(DIE_BY_THE_SWORD) and ccR.Player.Health() <= 35 then ccR.Cast.Spell(DIE_BY_THE_SWORD) 
		elseif ccR.Spell.Is.Ready(ENRAGED_REGENERATION) and ccR.Player.Health() <= 80 then ccR.Cast.Spell(ENRAGED_REGENERATION) 
		elseif ccR.Player.Health() <= 25 and not ccR.Player.HasBuff(DEFENSIVE_STANCE) then ccR.Cast.Spell(DEFENSIVE_STANCE) 
		elseif ccR.Player.Health() >= 25 and ccR.Player.HasBuff(DEFENSIVE_STANCE) then ccR.Cast.Spell(BATTLE_STANCE) 
		elseif ccR.Player.Has.Buff(DEFENSIVE_STANCE) and not ccR.Player.Has.Buff(SHIELD_BARRIER) and ccR.Spell.Is.Ready(SHIELD_BARRIER) then ccR.Cast.Spell(SHIELD_BARRIER) 
		-- Opening Rotation
		elseif ccR.Spell.CanAttack(CHARGE) and ccR.Target.Distance() >= 8 then ccR.Cast.Attack(CHARGE)
		elseif ccR.Player.Has.Talent(BLOODBATH) and ccR.Spell.Is.Ready(BLOODBATH) and ccR.Player.Is.InCombat() then ccR.Cast.Spell(BLOODBATH)
		elseif ccR.Player.Has.Talent(AVATAR) and ccR.Spell.Is.Ready(AVATAR) and ccR.Player.Is.InCombat() then ccR.Cast.Spell(AVATAR)
		elseif ccR.Spell.CanAttack(BLOODTHIRST) then ccR.Cast.Attack(BLOODTHIRST)
		elseif ccR.Spell.Is.Ready(RECKLESSNESS) and ccR.Player.IsInCombat() then ccR.Cast.Spell(RECKLESSNESS)
		end
		if ccR.Target.Count(8) == 1 then	
			if ccR.Target.Health() <= 20 then
			-- Execution Rotation
				-- Executes highest priority with Sudden Death
				if ccR.Player.HasBuff(SUDDEN_DEATH) and ccR.Spell.CanAttack(EXECUTE) then ccR.Cast.Attack(EXECUTE)
				-- 1. Use Berserker Rage if your Enrage falls of.
				elseif not ccR.Player.HasBuff(ENRAGE) and ccR.Spell.IsReady(BERSERKER_RAGE) then ccR.Cast.Spell(BERSERKER_RAGE)
				-- 2. Use Execute to avoid reaching maximum Rage.
				elseif ccR.Spell.CanAttack(EXECUTE) and ccR.Player.Rage() >= 70 then ccR.Cast.Attack(EXECUTE)
				-- 3. Use Bloodthirst
				elseif (not ccR.Player.HasBuff(ENRAGE) and ccR.Player.HasTalent(UNQUENCHABLE_THIRST)) or (not ccR.Player.HasBuff(ENRAGE) and ccR.Player.Rage() <= 80 and not ccR.Player.HasTalent(UNQUENCHABLE_THIRST)) then ccR.Cast.Attack(BLOODTHIRST)
				-- 4. Use Execute
				elseif ccR.Spell.CanAttack(EXECUTE) then ccR.Cast.Attack(EXECUTE)
				-- 5. Use Raging Blow
				elseif ccR.Spell.CanAttack(RAGING_BLOW) then ccR.Cast.Attack(RAGING_BLOW)
				-- 6 Use Wild Strike if you have Bloodsurge proc
				elseif ccR.Spell.CanAttack(WILD_STRIKE) and ccR.Player.HasBuff(BLOODSURGE) then ccR.Cast.Attack(WILD_STRIKE)			
				-- 7 Storm bolt or Dragon Roar
				elseif ccR.Player.Has.Talent(STORM_BOLT) and ccR.Spell.CanAttack(STORM_BOLT) then ccR.Cast.Attack(STORM_BOLT)
				elseif ccR.Player.Has.Talent(DRAGON_ROAR) and ccR.Spell.Is.Ready(DRAGON_ROAR) and ccR.Target.Distance() <= 8 then ccR.Cast.Spell(DRAGON_ROAR)
				-- 8 Bloodthirst with Unquenchable Thirst
				elseif ccR.Player.Has.Talent(UNQUENCHABLE_THIRST) and ccR.Spell.CanAttack(BLOODTHIRST) then ccR.Cast.Attack(BLOODTHIRST)
				end
			else
			-- Single Target Rotation
				-- Executes highest priority with Sudden Death
				if ccR.Player.HasBuff(SUDDEN_DEATH) and ccR.Spell.CanAttack(EXECUTE) then ccR.Cast.Attack(EXECUTE)
				-- 1. Use Berserker Rage if your Enrage falls of.
				elseif not ccR.Player.HasBuff(ENRAGE) and ccR.Spell.IsReady(BERSERKER_RAGE) then ccR.Cast.Spell(BERSERKER_RAGE)
				-- 2. Use Wild Strike if you are above 90 Rage.
				elseif ccR.Player.Rage() >= 90 and ccR.Spell.CanAttack(WILD_STRIKE) then ccR.Cast.Attack(WILD_STRIKE)
				-- 3. Use Raging Blow when you have 2 stacks.
				elseif ccR.Player.HasBuff(RAGING_BLOW_BUFF) and ccR.Player.BuffStacks(RAGING_BLOW_BUFF) >= 2 then ccR.Cast.Attack(RAGING_BLOW)
				-- 4. Use Bloodthirst
				elseif (not ccR.Player.HasBuff(ENRAGE) and ccR.Player.Has.Talent(UNQUENCHABLE_THIRST)) or (not ccR.Player.HasBuff(ENRAGE) and ccR.Player.Rage() <= 80 and not ccR.Player.Has.Talent(UNQUENCHABLE_THIRST)) then ccR.Cast.Attack(BLOODTHIRST)
				-- 5. Use Raging Blow
				elseif ccR.Spell.CanAttack(RAGING_BLOW) then ccR.Cast.Attack(RAGING_BLOW)
				-- 6 Use Wild Strike
				elseif ccR.Spell.CanAttack(WILD_STRIKE) then ccR.Cast.Attack(WILD_STRIKE)
				-- 7 Storm bolt or Dragon Roar
				elseif ccR.Player.Has.Talent(STORM_BOLT) and ccR.Spell.CanAttack(STORM_BOLT) then ccR.Cast.Attack(STORM_BOLT)
				elseif ccR.Player.Has.Talent(DRAGON_ROAR) and ccR.Spell.Is.Ready(DRAGON_ROAR) and ccR.Target.Distance() <= 8 then ccR.Cast.Spell(DRAGON_ROAR)
				-- 8 Bloodthirst with Unquenchable Thirst
				elseif ccR.Player.Has.Talent(UNQUENCHABLE_THIRST) and ccR.Spell.CanAttack(BLOODTHIRST) then ccR.Cast.Attack(BLOODTHIRST)
				end
			end
		return
		end
		-- Bladestorm on 6+ enemies
		if ccR.Player.Count(8) >= 6 and ccR.Player.Has.Talent(BLADESTORM) and ccR.Spell.Is.Ready(BLADESTORM) then ccR.Cast.Spell(BLADESTORM) end
		-- Multiple Target Rotation
		if ccR.Target.Count(8) >= 2 then
			-- Execute ANY Target that Execute can be done on
			for x = 1, # ccR_Enemies_Within_8 do
				local vUnit = ccR_Enemies_Within_8[x]
				if ccR.Player.Is.Facing(vUnit)
				and ccR.Unit.Health(vUnit) <= 20
				and ccR.Spell.CanAttack(EXECUTE, vUnit)
				then
					ccR.Cast.Attack(EXECUTE, vUnit)
				end
			end
			-- Executes highest priority with Sudden Death
			if ccR.Player.Has.Buff(SUDDEN_DEATH) and ccR.Spell.CanAttack(EXECUTE) then ccR.Cast.Attack(EXECUTE)		
			-- 1. Bloodthirst to maintain your Enrage and generate Raging Blow stacks.
			elseif ccR.Spell.CanAttack(RAGING_BLOW) then ccR.Cast.Attack(RAGING_BLOW)
			-- 2. Use Whirlwind to gain stacks of Meat Cleaver as necessary for the amount of current targets.
			elseif ccR.Spell.Is.Ready(WHIRLWIND) and ccR.Target.Distance() <= 8 then ccR.Cast.Spell(WHIRLWIND)
			-- 3. Use Raging Blow
			elseif ccR.Spell.CanAttack(RAGING_BLOW) then ccR.CastAttack(RAGING_BLOW)
			-- 4. Use Dragon Roar
			elseif ccR.Spell.Is.Ready(DRAGON_ROAR) and ccR.Target.Distance() <= 8 then ccR.Cast.Spell(DRAGON_ROAR)
			-- 5. Use Wild Strike when you have a Bloodsurge proc
			elseif ccR.Spell.CanAttack(WILD_STRIKE) and ccR.Player.Has.Buff(BLOODSURGE) then ccR.Cast.Spell(WILD_STRIKE)
			-- 6. Use Bloodthirst if you have Unquenchable Thirst
			elseif ccR.Spell.CanAttack(BLOODTHIRST) and ccR.Player.Has.Talent(UNQUENCHABLE_THIRST) then ccR.Cast.Attack(BLOODTHIRST)
			end
		return
		end
	end
end